package com.shuidihuzhu.sdb.helper.log;

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

/**
 * 事件定义
 * @author dongzhihua
 */
public interface LogFur<T extends Annotation> {

    /**
     * 方法调用之前
     * @param param 方法入参
     */
    void before(Method method, Object param, T annotation);

    /**
     * 方法调用之后，异常不处理
     * @param result 方法返回结果
     */
    void after(Method method, Object result, T annotation);

    /**
     * 获取注解类型
     */
    Class<T> getType();
}
